// src/utils/request.js

import axios from 'axios'
import { ElMessage } from 'element-plus' // 如果用element-plus

// 1. 创建axios实例
const service = axios.create({
    baseURL: 'http://localhost:8081', // 根据你的项目实际配置
    timeout: 10000   // 超时时间
})

// 2. 请求拦截器（每次请求前自动携带token等，可选）
service.interceptors.request.use(
    config => {
        // 你可以把token加在headers里
        const token = localStorage.getItem('token')
        if (token) config.headers.Authorization = `Bearer ${token}`

        return config
    },
    error => {
        // 请求发送失败
        return Promise.reject(error)
    }
)

// 3. 响应拦截器（核心：二次拦截处理）
service.interceptors.response.use(
    response => {
        const res = response.data
        // 后端规范：成功一般 code == 1
        if (res.code !==1 ) {
            // 二次拦截：弹出错误信息
            ElMessage.error(res.msg || '请求失败')
            // 可以针对特定code做统一跳转等处理
            // if (res.code === 401) { ... }
            return Promise.reject(res)
        }
        // 正常
        return res
    },
    error => {
        // 网络异常、服务器异常等
        ElMessage.error(error.message || '网络异常')
        return Promise.reject(error)
    }
)

export default service
